import pandas as pd
import statsmodels.api as sm

def linear_regression_analysis(file_path, independent_vars, dependent_var):
    """
    使用最小二乘法进行多元线性回归分析并进行显著性检验。

    参数:
    file_path (str): Excel文件的路径。
    independent_vars (list): 包含自变量列名的列表。
    dependent_var (str): 因变量的列名。
    """
    # 1. 读取Excel文件
    try:
        df = pd.read_excel(file_path)
    except FileNotFoundError:
        print(f"错误：找不到文件 '{file_path}'。请确保文件名和路径正确。")
        return

    # 2. 定义自变量(X)和因变量(y)
    X = df[independent_vars]
    y = df[dependent_var]

    # 3. 添加常数项（截距）
    # statsmodels默认不包含截距，需要手动添加
    X = sm.add_constant(X)

    # 4. 拟合最小二乘模型
    model = sm.OLS(y, X).fit()

    # 5. 打印回归分析的详细结果
    print(model.summary())

# --- 使用示例 ---
# 请根据您的实际情况修改下面的文件名和列名
excel_file = 'data_after_process.xlsx'
independent_columns = ['检测孕周（小数）', '孕妇BMI']  # 您的两个自变量列名
dependent_column = 'Y染色体浓度' # 您的因变量列名

linear_regression_analysis(excel_file, independent_columns, dependent_column)